package com.py.od.domain;

import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.springframework.data.annotation.Transient;

import java.math.BigDecimal;
import java.util.List;

/**
 * 货品信息对象 py_product
 * 
 * @author he
 * @date 2024-11-22
 */
public class Product extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    private Long productId;

    /**
     * 货品名称
     */
    @Excel(name = "货品名称")
    private String productName;

    /**
     * 状态（0.停用 1.启用）
     */
    @Excel(name = "状态", readConverterExp = "0=.停用,1=.启用")
    private String productStatus;

    /**
     * 货品编号
     */
    @Excel(name = "货品编号")
    private String productCode;

    /**
     * 货品类型
     */
    @Excel(name = "货品类型")
    private String productType;

    /**
     * 规格型号
     */
    @Excel(name = "规格型号")
    private String productModel;

    /**
     * 单位
     */
    @Excel(name = "单位")
    private Long productUnit;

    /**
     * 供应商
     */
    @Excel(name = "供应商")
    private Long productSupplier;

    /**
     * 入库参考价
     */
    @Excel(name = "入库参考价")
    private BigDecimal inboundPrice;

    /**
     * 出库参考价
     */
    @Excel(name = "出库参考价")
    private BigDecimal outboundPrice;

    /**
     * 排序
     */
    @Excel(name = "排序")
    private Long sort;

    /**
     * 保质期管理
     */
    private String isEnable;

    /**
     * 保质期天数
     */
    private String shelfLifeDays;


    /**
     * 保质期单位
     */
    private Long shelfLifeUnit;

    /**
     * 预警天数
     */
    @Excel(name = "预警天数")
    private Long warningDays;

    /**
     * 图片
     */
    private String image;

    /**
     * 备注
     */
    private String productRemark;

    /**
     * 逻辑删除
     */
    private String isDelete;


    /**
     * 供应商信息
     */
//    private List<PySuppliers> pySuppliersList;
//
//    /**
//     * 货品类型信息
//     */
//    private List<ProductType> productTypeList;

    //库存表
    private List<WhInventory> whInventoryList;

    /**
     * 单位
     */
//    private List<SysDictData> dictDataList;
//
//    private List<BsWarehouse> BsWarehouseList;


    /**
     * 货品类型名称
     */
    @Excel(name = "货品类型名称")
    private String productTypeCode;

    @Transient
    private Integer number;
    @Transient
    private Integer codeId;

    @Transient
    private String dictLabel;

    @Transient
    private String productTypeName;

    @Transient
    private Integer currentInventory;

//    public List<BsWarehouse> getBsWarehouseList() {
//        return BsWarehouseList;
//    }
//
//    public void setBsWarehouseList(List<BsWarehouse> bsWarehouseList) {
//        BsWarehouseList = bsWarehouseList;
//    }

    public List<WhInventory> getWhInventoryList() {
        return whInventoryList;
    }

    public void setWhInventoryList(List<WhInventory> whInventoryList) {
        this.whInventoryList = whInventoryList;
    }

    public Integer getCurrentInventory() {
        return currentInventory;
    }

    public void setCurrentInventory(Integer currentInventory) {
        this.currentInventory = currentInventory;
    }

//    public List<SysDictData> getDictDataList() {
//        return dictDataList;
//    }
//
//    public void setDictDataList(List<SysDictData> dictDataList) {
//        this.dictDataList = dictDataList;
//    }

    public String getDictLabel() {
        return dictLabel;
    }

    public void setDictLabel(String dictLabel) {
        this.dictLabel = dictLabel;
    }

    public String getProductTypeName() {
        return productTypeName;
    }

    public void setProductTypeName(String productTypeName) {
        this.productTypeName = productTypeName;
    }


    public void setProductTypeCode(String productTypeCode) {
        this.productTypeCode = productTypeCode;
    }

    public String getProductTypeCode() {
        return productTypeCode;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public Long getProductId() {
        return productId;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductStatus(String productStatus) {
        this.productStatus = productStatus;
    }

    public String getProductStatus() {
        return productStatus;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductCode() {
        return productCode;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductModel(String productModel) {
        this.productModel = productModel;
    }

    public String getProductModel() {
        return productModel;
    }

    public void setProductUnit(Long productUnit) {
        this.productUnit = productUnit;
    }

    public Long getProductUnit() {
        return productUnit;
    }

    public void setProductSupplier(Long productSupplier) {
        this.productSupplier = productSupplier;
    }

    public Long getProductSupplier() {
        return productSupplier;
    }

    public void setInboundPrice(BigDecimal inboundPrice) {
        this.inboundPrice = inboundPrice;
    }

    public BigDecimal getInboundPrice() {
        return inboundPrice;
    }

    public void setOutboundPrice(BigDecimal outboundPrice) {
        this.outboundPrice = outboundPrice;
    }

    public BigDecimal getOutboundPrice() {
        return outboundPrice;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public Long getSort() {
        return sort;
    }

    public void setIsEnable(String isEnable) {
        this.isEnable = isEnable;
    }

    public String getIsEnable() {
        return isEnable;
    }

    public void setShelfLifeDays(String shelfLifeDays) {
        this.shelfLifeDays = shelfLifeDays;
    }

    public String getShelfLifeDays() {
        return shelfLifeDays;
    }

    public Long getShelfLifeUnit() {
        return shelfLifeUnit;
    }

    public void setShelfLifeUnit(Long shelfLifeUnit) {
        this.shelfLifeUnit = shelfLifeUnit;
    }

    public void setWarningDays(Long warningDays) {
        this.warningDays = warningDays;
    }

    public Long getWarningDays() {
        return warningDays;
    }

    public void setImage(String image) {
        this.image = image;
    }

    public String getImage() {
        return image;
    }

    public void setProductRemark(String productRemark) {
        this.productRemark = productRemark;
    }

    public String getProductRemark() {
        return productRemark;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }

    public String getIsDelete() {
        return isDelete;
    }

//    public List<PySuppliers> getPySuppliersList() {
//        return pySuppliersList;
//    }
//
//    public void setPySuppliersList(List<PySuppliers> pySuppliersList) {
//        this.pySuppliersList = pySuppliersList;
//    }

    public Integer getNumber() {
        return number;
    }

    public void setNumber(Integer number) {
        this.number = number;
    }

    public Integer getCodeId() {
        return codeId;
    }

    public void setCodeId(Integer codeId) {
        this.codeId = codeId;
    }

//    public List<ProductType> getProductTypeList() {
//        return productTypeList;
//    }
//
//    public void setProductTypeList(List<ProductType> productTypeList) {
//        this.productTypeList = productTypeList;
//    }


    @Override
    public String toString() {
        return "Product{" +
                "productId=" + productId +
                ", productName='" + productName + '\'' +
                ", productStatus='" + productStatus + '\'' +
                ", productCode='" + productCode + '\'' +
                ", productType='" + productType + '\'' +
                ", productModel='" + productModel + '\'' +
                ", productUnit=" + productUnit +
                ", productSupplier=" + productSupplier +
                ", inboundPrice=" + inboundPrice +
                ", outboundPrice=" + outboundPrice +
                ", sort=" + sort +
                ", isEnable='" + isEnable + '\'' +
                ", shelfLifeDays='" + shelfLifeDays + '\'' +
                ", shelfLifeUnit=" + shelfLifeUnit +
                ", warningDays=" + warningDays +
                ", image='" + image + '\'' +
                ", productRemark='" + productRemark + '\'' +
                ", isDelete='" + isDelete + '\'' +
                ", whInventoryList=" + whInventoryList +
                ", productTypeCode='" + productTypeCode + '\'' +
                ", number=" + number +
                ", codeId=" + codeId +
                ", dictLabel='" + dictLabel + '\'' +
                ", productTypeName='" + productTypeName + '\'' +
                ", currentInventory=" + currentInventory +
                '}';
    }
}
